package org.yw.service;

import org.yw.dto.Dto;
import org.yw.pojo.DmLinkUser;
import org.yw.pojo.DmUser;

/**
 * Created By YU WEI on 2020.09.07
 */
public interface LoginService {

    /**
     * 用户登陆
     * @param phone
     * @param password
     * @throws Exception
     */
    Dto doLogin(String phone, String password)throws Exception;


    /**
     * 验证phone是否可以用
     * @param phone
     * @return
     * @throws Exception
     */
    Dto checkPhone(String phone)throws Exception;

    /**
     * 用户注册
     * @param
     * @return
     * @throws Exception
     */
    Dto register(String phone,String password,String vcode)throws Exception;

    /**
     * 发送验证码
     * @param phone
     * @return
     * @throws Exception
     */
    Dto sendCode(String phone)throws Exception;

    /**
     * 根据token查询用户信息
     * @param token
     * @return
     */
    Dto queryUserInfoByToken(String token)throws Exception;

    /**
     * 更新用户信息
     * @param user
     * @return
     */
    Dto modifyUserInfo(DmUser user)throws Exception;

    /**
     * 查询用户常用购票人
     * @param token
     * @return
     * @throws Exception
     */
    Dto queryLinkUser(String token)throws Exception;

    /**
     * 增加常用购票人
     * @param token
     * @param user
     * @return
     * @throws Exception
     */
    Dto addLinkUser(String token, DmLinkUser user)throws Exception;

    /**
     * 查看常用购票人是否存在
     * @param token
     * @param idCard
     * @return
     * @throws Exception
     */
    Dto queryLinkUserByIdCard(String token, String idCard)throws Exception;

    /**
     * 删除常用购票人
     * @param token
     * @param linkId
     * @return
     * @throws Exception
     */
    Dto deleteLinkUserById(String token, Long linkId)throws Exception;

    /**
     * token置换
     * @param token
     * @return
     * @throws Exception
     */
    Dto replaceToken(String token)throws Exception;
}
